////////#include<vector>
////////#include<iostream>
////////using namespace std;
////////
////////const int N = 1e5 + 10;
////////
////////int main()
////////{
////////    int n, m;
////////    while (cin >> n >> m)
////////    {
////////        vector<vector<int>> v(n + 1);
////////        while (m--)
////////        {
////////            int x, y; cin >> x >> y;
////////            v[x].push_back(y);
////////        }
////////        for (int i = 1; i <= n; i++)
////////        {
////////            if (v[i].size() == 0) cout << endl;
////////            else
////////            {
////////                cout << v[i][0];
////////                for (int j = 1; j < v[i].size(); j++)
////////                    cout << " " << v[i][j];
////////                cout << endl;
////////            }
////////        }
////////    }
////////    return 0;
////////}
//////
//////#include<set>
//////#include<iostream>
//////
//////using namespace std;
//////
//////int main()
//////{
//////	int n;
//////	while (cin >> n)
//////	{
//////		set<int> s;
//////		while (n--)
//////		{
//////			int t; cin >> t;
//////			s.insert(t);
//////		}
//////		if (s.size() == 0)
//////		{
//////			cout << 0 << endl;
//////		}
//////		else
//////		{
//////			cout << s.size() << endl;
//////			cout << *s.begin();
//////			auto i = s.begin();
//////			for (i++; i != s.end(); i++)
//////			{
//////				cout << " " << *i;
//////			}
//////			cout << endl;
//////		}
//////	}
//////	return 0;
//////}
//
//#include<iostream>
//#include<set>
//#include<cstdio>
//using namespace std;
//
//int main()
//{
//	int n; cin >> n;
//	set<int> s[51];
//	for (int i = 1; i <= n; i++)
//	{
//		int m; cin >> m;
//		while (m--)
//		{
//			int t; cin >> t;
//			s[i].insert(t);
//		}
//	}
//	int k; cin >> k;
//	while (k--)
//	{
//		int x, y; cin >> x >> y;
//		set<int> sum,mul;
//		auto a = s[x].begin(), b = s[y].begin();
//		while (a != s[x].end() && b != s[y].end())
//		{
//			sum.insert(*a), sum.insert(*b);
//			if (*a == *b)
//			{
//				mul.insert(*a);
//				a++, b++;
//			}
//			else
//			{
//				if (*a < *b) a++;
//				else b++;
//			}
//		}
//		//double ret = mul.size() / (double)(s[x].size() + s[y].size() - mul.size()) * 100;
//		double ret = mul.size() / (double)(sum.size());
//		printf("%.2lf%\n", ret);
//	}
//	return 0;
//}
//
